{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "# Flask提供静态文件\r\n",
    "\r\n",
    "静态文件是不经常更改的文件，例如，CSS 文件、 JS 文件、字体文件等。默认情况下，Flask 在应用程序目录中的 `static` 静态子目录中寻找静态文件。我们可以通过在创建应用程序实例时将目录的名称传递给 static_folder 关键字参数来更改这个默认值，如下所示:\r\n",
    "\r\n",
    "`app = Flask(__name__, static_folder=\"static_dir\")`\r\n",
    "这将把静态文件的默认位置改为应用程序目录中的 static_dir 目录。\r\n",
    "\r\n",
    "现在，我们将使用默认的静态目录。在 `flask_app`  目录中创建一个名为 `static` 的目录。在静态目录中创建一个 CSS 文件 style.CSS，其内容如下。\r\n",
    "\r\n",
    "```\r\n",
    "body {\r\n",
    "    color: red\r\n",
    "}\r\n",
    "```\r\n",
    "回忆一下在 Flask 基础课上我们讨论过 `Flask` 自动添加一条路径来处理静态文件/static/<filename> 。所以我们只需要使用 url_for() 函数来创建 url，如下所示:\r\n",
    "\r\n",
    "`<script src=\"{{ url_for('static', filename='jquery.js') }}\"></script>`\r\n",
    "\r\n",
    "打开索引模板并添加 < link > 标记，如下所示(突出显示更改) :\r\n",
    "\r\n",
    "flask_app/templates/index.html\r\n",
    "```\r\n",
    "<!DOCTYPE html>\r\n",
    "<html lang=\"en\">\r\n",
    "<head>\r\n",
    "    <meta charset=\"UTF-8\">\r\n",
    "    <title>Title</title>\r\n",
    "    <link rel=\"stylesheet\" href=\"{{ url_for('static', filename='style.css') }}\">\r\n",
    "</head>\r\n",
    "```\r\n",
    "\r\n",
    "启动服务器访问 http://localhost:5000/ ，你应该看到的页面主体是红色的\r\n",
    "\r\n",
    "这里描述的为静态文件提供服务的方法仅用于开发。在生产环境中，我们使用一个真正的 web 服务器，如 Nginx 或 Apache 来提供静态文件。"
   ],
   "metadata": {}
  }
 ],
 "metadata": {
  "orig_nbformat": 4,
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}